package com.polaris.live.utils

import com.polaris.live.R

/**
 * VipStyle 存放固定vip的样式
 * @author Created by 天晴 on 2024/12/24 16:09
 * @since 1.0.0
 **/
object VipStyle {

    private val vip1 = VipStyleBean(
        vipBoxPrivilegesBg = R.drawable.vip_privileges_bg_1,
        vipBoxBg = R.drawable.vip_box_bg_1,
        vipMainBgColor = R.color.vip_bg_color_1,
        vipMainPrivilegesColor = R.drawable.vip_privileges_1,
        vipTitle = R.drawable.vip_title_1,
        vipMedalTitle = R.drawable.vip_medal_1,
        vipOwnInfoBg = R.drawable.vip_own_1,
        vipBuyBg = R.drawable.vip_buy_bg_1,
        vipBuyBottomBg = R.drawable.vip_buy_bottom_bg_1,
        vipBuyColor = R.color.vip_buy_color_1,
        vipOriginalColor = R.color.vip_original_color_1,
        vipExperienceBg = R.drawable.vip_experience_bg_1,
        vipExperienceCard = R.drawable.vip_trial_card_1,
        vipIdentity = R.drawable.vip_identity_1,
        vipPreviewbg = R.drawable.vip_bg_1,
        vipPreviewOvalbg = R.drawable.vip_bg_oval_1
    )
    private val vip2 = VipStyleBean(
        vipBoxPrivilegesBg = R.drawable.vip_privileges_bg_2,
        vipBoxBg = R.drawable.vip_box_bg_2,
        vipMainBgColor = R.color.vip_bg_color_2,
        vipMainPrivilegesColor = R.drawable.vip_privileges_2,
        vipTitle = R.drawable.vip_title_2,
        vipMedalTitle = R.drawable.vip_medal_2,
        vipOwnInfoBg = R.drawable.vip_own_2,
        vipBuyBg = R.drawable.vip_buy_bg_2,
        vipBuyBottomBg = R.drawable.vip_buy_bottom_bg_2,
        vipBuyColor = R.color.vip_buy_color_2,
        vipOriginalColor = R.color.vip_original_color_2,
        vipExperienceBg = R.drawable.vip_experience_bg_2,
        vipExperienceCard = R.drawable.vip_trial_card_2,
        vipIdentity = R.drawable.vip_identity_2,
        vipPreviewbg = R.drawable.vip_bg_2,
        vipPreviewOvalbg = R.drawable.vip_bg_oval_2

    )
    private val vip3 = VipStyleBean(
        vipBoxPrivilegesBg = R.drawable.vip_privileges_bg_3,
        vipBoxBg = R.drawable.vip_box_bg_3,
        vipMainBgColor = R.color.vip_bg_color_3,
        vipMainPrivilegesColor = R.drawable.vip_privileges_3,
        vipTitle = R.drawable.vip_title_3,
        vipMedalTitle = R.drawable.vip_medal_3,
        vipOwnInfoBg = R.drawable.vip_own_3,
        vipBuyBg = R.drawable.vip_buy_bg_3,
        vipBuyBottomBg = R.drawable.vip_buy_bottom_bg_3,
        vipBuyColor = R.color.vip_buy_color_3,
        vipOriginalColor = R.color.vip_original_color_3,
        vipExperienceBg = R.drawable.vip_experience_bg_3,
        vipExperienceCard = R.drawable.vip_trial_card_3,
        vipIdentity = R.drawable.vip_identity_3,
        vipPreviewbg = R.drawable.vip_bg_3,
        vipPreviewOvalbg = R.drawable.vip_bg_oval_3
    )
    private val vip4 = VipStyleBean(
        vipBoxPrivilegesBg = R.drawable.vip_privileges_bg_4,
        vipBoxBg = R.drawable.vip_box_bg_4,
        vipMainBgColor = R.color.vip_bg_color_4,
        vipMainPrivilegesColor = R.drawable.vip_privileges_4,
        vipTitle = R.drawable.vip_title_4,
        vipMedalTitle = R.drawable.vip_medal_4,
        vipOwnInfoBg = R.drawable.vip_own_4,
        vipBuyBg = R.drawable.vip_buy_bg_4,
        vipBuyBottomBg = R.drawable.vip_buy_bottom_bg_4,
        vipBuyColor = R.color.vip_buy_color_4,
        vipOriginalColor = R.color.vip_original_color_4,
        vipExperienceBg = R.drawable.vip_experience_bg_4,
        vipExperienceCard = R.drawable.vip_trial_card_4,
        vipIdentity = R.drawable.vip_identity_4,
        vipPreviewbg = R.drawable.vip_bg_4,
        vipPreviewOvalbg = R.drawable.vip_bg_oval_4
    )
    private val vip5 = VipStyleBean(
        vipBoxPrivilegesBg = R.drawable.vip_privileges_bg_5,
        vipBoxBg = R.drawable.vip_box_bg_5,
        vipMainBgColor = R.color.vip_bg_color_5,
        vipMainPrivilegesColor = R.drawable.vip_privileges_5,
        vipTitle = R.drawable.vip_title_5,
        vipMedalTitle = R.drawable.vip_medal_5,
        vipOwnInfoBg = R.drawable.vip_own_5,
        vipBuyBg = R.drawable.vip_buy_bg_5,
        vipBuyBottomBg = R.drawable.vip_buy_bottom_bg_5,
        vipBuyColor = R.color.vip_buy_color_5,
        vipOriginalColor = R.color.vip_original_color_5,
        vipExperienceBg = R.drawable.vip_experience_bg_5,
        vipExperienceCard = R.drawable.vip_trial_card_5,
        vipIdentity = R.drawable.vip_identity_5,
        vipPreviewbg = R.drawable.vip_bg_5,
        vipPreviewOvalbg = R.drawable.vip_bg_oval_5
    )
    private val vip6 = VipStyleBean(
        vipBoxPrivilegesBg = R.drawable.vip_privileges_bg_6,
        vipBoxBg = R.drawable.vip_box_bg_6,
        vipMainBgColor = R.color.vip_bg_color_6,
        vipMainPrivilegesColor = R.drawable.vip_privileges_6,
        vipTitle = R.drawable.vip_title_6,
        vipMedalTitle = R.drawable.vip_medal_6,
        vipOwnInfoBg = R.drawable.vip_own_6,
        vipBuyBg = R.drawable.vip_buy_bg_6,
        vipBuyBottomBg = R.drawable.vip_buy_bottom_bg_6,
        vipBuyColor = R.color.vip_buy_color_6,
        vipOriginalColor = R.color.vip_original_color_6,
        vipExperienceBg = R.drawable.vip_experience_bg_6,
        vipExperienceCard = R.drawable.vip_trial_card_6,
        vipIdentity = R.drawable.vip_identity_6,
        vipPreviewbg = R.drawable.vip_bg_6,
        vipPreviewOvalbg = R.drawable.vip_bg_oval_6
    )

    private val vipMaps = mapOf(
        1L to vip1,
        2L to vip2,
        3L to vip3,
        4L to vip4,
        5L to vip5,
        6L to vip6
    )

    fun getVipStyle(level: Long): VipStyleBean {
        return vipMaps[level] ?: vip1
    }

}

data class VipStyleBean(
    val vipBoxPrivilegesBg: Int,           //专属身份box背景
    val vipBoxBg: Int,                     //专属特权box背景
    val vipMainBgColor: Int,              //Vip主色调
    val vipMainPrivilegesColor: Int,       //专属身份box主背景
    val vipTitle: Int,                    //专属顶部图片
    val vipMedalTitle: Int,                //vip勋章默认
    val vipOwnInfoBg: Int,                //vip个人vip背景
    val vipBuyBg: Int,                  //vip购买数据显示背景
    val vipBuyBottomBg: Int,            //vip购买底部背景
    val vipBuyColor: Int,              //vip购买区分颜色
    val vipOriginalColor: Int,          //vip原价区分颜色
    val vipExperienceBg: Int,          //体验卡显示背景
    val vipExperienceCard: Int,          //体验卡图片
    val vipIdentity: Int,              //vip介绍页Titles装饰图
    val vipPreviewbg: Int,              //预览介绍页背景
    val vipPreviewOvalbg: Int,              //预览介绍页背景Oval
)